#include "ObjectPool.h"
#include "ConcurrentAlloc.h"


void Alloc1()
{
	for (int i = 0; i < 5; ++i)
	{
		void* ptr = ConcurrentAlloc(6);
	}
}

void Alloc2()
{
	for (int i = 0; i < 5; ++i)
	{
		void* ptr = ConcurrentAlloc(7);
	}
}

void TLSTest()
{
	std::thread t1(Alloc1);
	std::thread t2(Alloc2);

	t1.join();
	t2.join();
}

void TestConcurrentAlloc()
{
	void* p1 = ConcurrentAlloc(6);

}

void BigAlloc()
{
	/*void* p1 = ConcurrentAlloc(257 * 1024);
	ConcurrentFree(p1);*/

	void* p2 = ConcurrentAlloc(129 * 8 * 1024);
	ConcurrentFree(p2);
}

int main()
{
	//TestObjectPool();
	//TLSTest();
	//TestConcurrentAlloc();
	BigAlloc();
	return 0;
}